# 一、在浏览器敲下url到页面显示发生了什么？
# 1、输入url
#     定义：url是统一资源定位器，可以定位到互联网上的资源，实际上也就是我们常说的网址。
#     格式：协议类型://域名[:端口]/路径。一般情况，省略端口，使用默认端口
#     例子：https://www.python.com/
# 2、DNS解析
#     用户输入url后，我们的电脑发出一个DNS请求给DNS服务器，DNS返回域名真实的IP地址，
#     然后通过返回的IP地址访问其对应的服务器
# 3、客户端与服务器建立连接
#     客户端与服务器互相确认身份后建立连接通道，用于发送数据
# 4、服务器处理请求并发回结果
#     服务器收到客户端请求后，通过一系列的处理，给客户端返回一个特定的响应
# 5、客户端接收响应并渲染显示网页
#     客户端接到服务器返回的响应后，根据一定的规则对状态码和资源类型做渲染，显示出网页

# 二、五层协议有哪五层?举例说明.
# 1、应用层：直接为用户的应用进程提供服务。它定义了应用进程间通信和交互的规则。
#    两台电脑之间进行通讯时，发送方将数据发送给接收方，如果没有应用层的规则，接收方拿到数据后也无法解析数据
# 2、传输层：向两个主机中进程之间的通信提供服务，建立端口到端口的通信。
#    上网时，一边聊天，一边看新闻，当网络上发出一个数据包时，我们无法知道这个数据包是表示新闻内容还是聊天内容。
#    因此需要对各个进程定义特定的端口，以此判定数据包归哪个端口对应的进程使用
# 3、网络层：为网上不同的主机提供通信服务，建立主机到主机的连接。
#    通过网络层，我们可以找到一台主机，通过网络地址与其建立连接，传输数据
# 4、数据链路层：负责两台主机的数据传输，向网络层提供数据传输服务。
#    对传输媒介上的数据进行纠错处理
# 5、物理层：负责管理电脑通信设备和网络媒体间的互通。
#    电脑要组网，首先通过光纤、电缆等设备把电脑连接起来
#
# 【举例】
# 两台主机进行通讯，1号机向2号机发送了一段数据，
# 1、数据先经过应用层，制定一系列数据处理规则，以便2号机能根据规则对数据进行解析；
# 2、数据进入传输层，把进程端口封装在数据包，这样才知道1号机那个进程发送的数据包；
# 3、数据进入网络层，通过IP地址找到2号机并与之相连
# 4、数据进入数据链路层，将数据包封装成帧
# 5、进入物理层，封装后的帧转换为比特流，通过光纤传输
